using System;
using System.ComponentModel.DataAnnotations;

namespace UwinEducation.Application.Dtos
{
    /// <summary>
    /// 课程DTO
    /// </summary>
    public class CourseDto
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        public Guid Id { get; set; }

        /// <summary>
        /// 课程编号
        /// </summary>
        public string Code { get; set; }

        /// <summary>
        /// 课程名称
        /// </summary>
        public string Name { get; set; }

        /// <summary>
        /// 日历颜色
        /// </summary>
        public string CalendarColor { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string Remarks { get; set; }

        /// <summary>
        /// 创建时间
        /// </summary>
        public DateTime CreatedAt { get; set; }
    }

    /// <summary>
    /// 创建课程DTO
    /// </summary>
    public class CreateCourseDto
    {
        /// <summary>
        /// 课程编号
        /// </summary>
        [Required(ErrorMessage = "课程编号不能为空")]
        public string Code { get; set; }

        /// <summary>
        /// 课程名称
        /// </summary>
        [Required(ErrorMessage = "课程名称不能为空")]
        public string Name { get; set; }

        /// <summary>
        /// 日历颜色
        /// </summary>
        public string? CalendarColor { get; set; }

        /// <summary>
        /// 备注
        /// </summary>
        public string? Remarks { get; set; }
    }

    /// <summary>
    /// 更新课程DTO
    /// </summary>
    public class UpdateCourseDto: CreateCourseDto
    {
        /// <summary>
        /// 课程ID
        /// </summary>
        [Required(ErrorMessage = "课程ID不能为空")]
        public Guid Id { get; set; }
    }
} 